package puf2

import chisel3._
import chisel3.util._
import chisel3.experimental._

import scala.math._

trait PUF_Constants_Trait {
    val WIDTH_DATA  =   210
    val WIDTH_CNT   =   10
    val TRANS_CNT   =   128
    val DELAY_CNT   =   4
    val ENABLE_CNT  =   2

    val REG_LEN_DATA_IN     =   ceil(WIDTH_DATA/8).toInt  + 1 // 27
    val REG_LEN_DATA_OUT    =   TRANS_CNT/8

    val UART_CNT_NUM        =   REG_LEN_DATA_IN + 1
    val OUT_CNT_NUM         =   REG_LEN_DATA_OUT

    val REG_CNT_INPUT_NUM   =   10 // !!! to be replaced by the LOG function
    val REG_CNT_OUTPUT_NUM  =   10 // !!! to be replaced by the LOG function
    // val s2IDLE :: s2INPUT :: s2DELAY :: s2ENABLE :: s2OUTPUT :: Nil =   Enum(5)
}

object PUF_Constants extends PUF_Constants_Trait{

}